# https://www.lintcode.com/problem/rectangle-overlap/description
# 描述
# 给定两个矩形，判断这两个矩形是否有重叠。

# l1代表第一个矩形的左上角
# r1代表第一个矩形的右下角
# l2代表第二个矩形的左上角
# r2代表第二个矩形的右下角

# 保证：l1 != r2 并且 l2 != r2

# 样例
# 给定 l1 = [0, 8], r1 = [8, 0], l2 = [6, 6], r2 = [10, 0], 返回 true
# 给定 l1 = [0, 8], r1 = [8, 0], l2 = [9, 6], r2 = [10, 0], 返回 false

"""
Definition for a point.
class Point:
    def __init__(self, a=0, b=0):
        self.x = a
        self.y = b
"""

class Solution:
    """
    @param l1: top-left coordinate of first rectangle
    @param r1: bottom-right coordinate of first rectangle
    @param l2: top-left coordinate of second rectangle
    @param r2: bottom-right coordinate of second rectangle
    @return: true if they are overlap or false
    """
    def doOverlap(self, l1, r1, l2, r2):
        # write your code here
        return ((max(l1.x, l2.x) <= min(r1.x, r2.x)) and (min(l1.y, l2.y) >= max(r1.y, r2.y)))